// 引入相关服务
const userService = require('../../services/user');
const petService = require('../../services/pet');

Page({
  data: {
    userInfo: null,
    pets: []
  },

  onLoad: function() {
    this.checkLoginStatus();
  },
  
  onShow: function() {
    this.checkLoginStatus();
    
    // 如果已登录则加载宠物列表
    if (this.data.userInfo) {
      this.loadPets();
    }
  },
  
  // 检查登录状态
  checkLoginStatus: function() {
    const userInfo = wx.getStorageSync('userInfo');
    const token = wx.getStorageSync('token');
    
    if (userInfo && token) {
      this.setData({
        userInfo: JSON.parse(userInfo)
      });
    } else {
      this.setData({
        userInfo: null
      });
    }
  },
  
  // 加载宠物列表
  loadPets: function() {
    wx.showNavigationBarLoading();
    
    petService.getPetList(1, 5)
      .then(res => {
        this.setData({
          pets: res.records || []
        });
        wx.hideNavigationBarLoading();
      })
      .catch(err => {
        console.error('获取宠物列表失败', err);
        wx.hideNavigationBarLoading();
      });
  },
  
  // 通用跳转方法
  navigateTo: function(e) {
    const url = e.currentTarget.dataset.url;
    
    // 检查登录状态
    if (!this.data.userInfo) {
      wx.navigateTo({
        url: '/pages/login/login'
      });
      return;
    }
    
    wx.navigateTo({
      url
    });
  },
  
  // 跳转到宠物列表
  navigateToPets: function() {
    // 检查登录状态
    if (!this.data.userInfo) {
      wx.navigateTo({
        url: '/pages/login/login'
      });
      return;
    }
    
    wx.navigateTo({
      url: '/pages/pet/list'
    });
  },
  
  // 跳转到宠物详情
  navigateToPetDetail: function(e) {
    const id = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: `/pages/pet/detail?id=${id}`
    });
  },
  
  // 跳转到添加宠物页面
  navigateToAddPet: function() {
    wx.navigateTo({
      url: '/pages/pet/add'
    });
  },
  
  // 跳转到设置页面
  navigateToSettings: function() {
    wx.navigateTo({
      url: '/pages/me/settings'
    });
  },
  
  // 联系我们
  contactUs: function() {
    wx.makePhoneCall({
      phoneNumber: '123-456-7890', // 医院电话号码
      success: function() {
        console.log('拨打电话成功');
      },
      fail: function() {
        console.log('拨打电话失败');
      }
    });
  },
  
  // 退出登录
  logout: function() {
    wx.showModal({
      title: '提示',
      content: '确定要退出登录吗？',
      success: (res) => {
        if (res.confirm) {
          // 清除本地存储的用户信息和token
          wx.removeStorageSync('userInfo');
          wx.removeStorageSync('token');
          
          // 更新页面数据
          this.setData({
            userInfo: null,
            pets: []
          });
          
          wx.showToast({
            title: '已退出登录',
            icon: 'success',
            duration: 2000
          });
        }
      }
    });
  },
  
  onShareAppMessage: function() {
    return {
      title: '宠物医院 - 专业的宠物医疗平台',
      path: '/pages/index/index'
    };
  }
}); 